/*
 * @Author: HeAo
 * @Date: 2022-09-21 09:11:08
 * @LastEditTime: 2022-09-21 15:16:04
 * @LastEditors: HeAo
 * @Description: 
 * @FilePath: \第二阶段\ES6\day06\3-面向对象.ts
 * 别乱动！
 */
// 接口  --->标准
// 特殊得类 特殊得对象 
// 使用类去实现接口 接口就是标准 类按照标准去实现 
// 类去实现接口，接口得属性和方法 类必须具备
// var type-c=new '绿联';
// var type-c=new '苹果';
// 可以理解为特殊得类 特殊的对象 
// 1.类接口 ---标准

// 1、类实现接口
interface StudentInterFace {
	name;
	say(msg: string): void; //未实现得方法
	// 抽象方法 没有方法体得方法
}
// 类的内容一定包含接口的内容
class Student4 implements StudentInterFace {
	name;
	say(msg: string): void {
		console.log(this.name + '说' + msg);
	};
	constructor(name) {
		this.name = name
	}
	foo() {
	}
};
let student: StudentInterFace = new Student4('terry');
// 父类得引用指向实例对象
student.say('hello');


// export
// 	// 接口理解为特殊得对象
// 	enum Gender {
// 	male1 = '男',
// 	female1 = '女'
// }
// class Student {
// 	name: string;
// 	age: number;
// 	gender: Gender
// }

// interface PropInterFace {
// 	data: Array<Student>,
// 	visible: boolean
// };
// // 2、用对象实现接口
// let prop: PropInterFace = {
// 	data: [
// 		{ name: 'zhangsan', age: 12, gender: Gender.female1 },
// 		{ name: 'lisi', age: 16, gender: Gender.male1 }
// 	],
// 	visible: false
// }
// console.log(prop);

// 接口是用来实现的，类是用来继承的
